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 PDF

Info

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
Application number
KR1020030090568A
Other languages
Korean (ko)
Other versions
KR20050058629A (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 KR1020030090568A priority Critical patent/KR100532484B1/en
Publication of KR20050058629A publication Critical patent/KR20050058629A/en
Application granted granted Critical
Publication of KR100532484B1 publication Critical patent/KR100532484B1/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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware 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-박스의

Figure 112003047517810-pat00001
상의 입력 비트들(X[7}0])을 동형 변환 매트릭스(δ)에 의해
Figure 112003047517810-pat00002
로 변환시키는 선행 연산부와, 선행 연산부의 출력 비트들을 입력하여 역 출력 비트들(Y[7:0])로 출력하는 역원 연산부와, 그리고
Figure 112003047517810-pat00003
상의 역 출력 비트들(Y[7:0])을 역 동형 변환 매트릭스에 의해
Figure 112003047517810-pat00004
로 재변환시키는 후행 연산부를 포함한다. 따라서, 본 발명은 멱승 연산에 기반한 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
Figure 112003047517810-pat00001
The input bits X [7} 0] of the image by means of the homomorphic transformation matrix δ.
Figure 112003047517810-pat00002
A preceding operation unit for converting to a second output unit;
Figure 112003047517810-pat00003
The inverse output bits Y [7: 0] on the inverse
Figure 112003047517810-pat00004
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

콤포지트 필드를 이용한 SEED 블록 암호 알고리즘 및 그 하드웨어 구조{SEED block encryption algorithm using composite field and hardware structure therefore}SEED block encryption algorithm using composite field and hardware structure therefore}

도 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의

Figure 112003047517810-pat00005
제곱 연산부의 구체적인 회로도를 설명하는 도면이다.4 is of FIG. 3
Figure 112003047517810-pat00005
It is a figure explaining the specific circuit diagram of a square calculating part.

도 5는 도 3의

Figure 112003047517810-pat00006
상수 곱셈부의 구체적인 회로도를 설명하는 도면이다.5 is a view of FIG. 3
Figure 112003047517810-pat00006
It is a figure explaining the specific circuit diagram of a constant multiplication part.

도 6은 도 3의

Figure 112003047517810-pat00007
곱셈 연산부의 구체적인 회로도를 설명하는 도면이다.6 is a view of FIG. 3
Figure 112003047517810-pat00007
It is a figure explaining the specific circuit diagram of a multiplication operation part.

도 7은 도 6의

Figure 112003047517810-pat00008
상수 곱셈부의 구체적인 회로도를 설명하는 도면이다.7 is a view of FIG. 6
Figure 112003047517810-pat00008
It is a figure explaining the specific circuit diagram of a constant multiplication part.

도 8은 도 6의

Figure 112003047517810-pat00009
곱셈부의 구체적인 회로도를 설명하는 도면이다.8 is a view of FIG. 6
Figure 112003047517810-pat00009
It is a figure explaining the specific circuit diagram of a multiplication part.

도 9는 도 1의 후행 연산부의

Figure 112003047517810-pat00010
에 대한 변환 매트릭스를 구현하는 회로도이다.9 is a trailing calculator of FIG. 1.
Figure 112003047517810-pat00010
A circuit diagram for implementing a transformation matrix for.

도 10은 도 1의 후행 연산부의

Figure 112003047517810-pat00011
에 대한 후행 연산부(130)의 변환 매트릭스를 구현하는 회로도이다.10 is a trailing calculator of FIG. 1.
Figure 112003047517810-pat00011
A circuit diagram for implementing the transformation matrix of the trailing arithmetic unit 130 for.

본 발명은 암호화 알고리즘에 관한 것으로, 콤포지트 필드(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-박스의 입/출력은

Figure 112003047517810-pat00012
상의 원소이며 다음과 같이 정의된다.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
Figure 112003047517810-pat00012
Is an element of phase and is defined as

Figure 112003047517810-pat00013
,
Figure 112003047517810-pat00013
,

Figure 112003047517810-pat00014
로 표시되고,
Figure 112003047517810-pat00014
Is indicated by

여기에서,From here,

Figure 112003047517810-pat00015
로 나타낸다.
Figure 112003047517810-pat00015
Represented by

Figure 112003047517810-pat00016
,
Figure 112003047517810-pat00016
,

Figure 112003047517810-pat00017
로 표시되고,
Figure 112003047517810-pat00017
Is indicated by

여기에서,From here,

Figure 112003047517810-pat00018
로 나타낸다.
Figure 112003047517810-pat00018
Represented by

일반적으로,

Figure 112003047517810-pat00019
상의 곱셈 연산이 복잡하기 때문에, 종래의 방식에서는 위의 값들을 사전에 계산해서 룩업 테이블(Lookup table) 방식으로 구현하거나 입력에 대한 곱의 합(Sum Of Product:SOP) 방식으로 출력의 논리 회로를 구성하여 사용해왔다.Generally,
Figure 112003047517810-pat00019
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-박스를

Figure 112003047517810-pat00020
상의 연산으로 구현하는 방식은 사전에 계산하여 논리 회로로 구성하는 방식에 비하여 그 하드웨어 구성이 복잡하고 차지하는 면적이 크기 때문에 효율적이지 못한 단점이 있다. 그리고 S-박스를 룩업 테이블로 구현하는 방식은
Figure 112003047517810-pat00021
바이트의 저장 공간을 필요로 하기 때문에 추가적으로 내부 레지스터나 외부 메모리를 필요로 하는 단점이 있다.By the way, S-box of SEED
Figure 112003047517810-pat00020
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
Figure 112003047517810-pat00021
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-박스 의

Figure 112003047517810-pat00022
상의 입력 비트들(X[7:0])을 동형 변환 매트릭스(δ)에 의해
Figure 112003047517810-pat00023
로 변환시키는 선행 연산부; 선행 연산부의 출력 비트들을 입력하여 역 출력 비트들(Y[7:0])로 출력하는 역원 연산부; 및
Figure 112003047517810-pat00024
상의 역 출력 비트들(Y[7:0])을 역 동형 변환 매트릭스에 의해
Figure 112003047517810-pat00025
로 재변환시키는 후행 연산부를 포함한다.In order to achieve the above object, the block encryption apparatus of the present invention is a S-box of SEED
Figure 112003047517810-pat00022
The input bits (X [7: 0]) of the phase by means of the homogeneous transformation matrix δ.
Figure 112003047517810-pat00023
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
Figure 112003047517810-pat00024
The inverse output bits Y [7: 0] on the inverse
Figure 112003047517810-pat00025
It includes a post-computation unit for reconversion.

상기 다른 목적을 달성하기 위하여, 본 발명의 블록 암호 알고리즘은 SEED의 S-박스의

Figure 112003047517810-pat00026
상의 입력 비트들(X[7:0])을
Figure 112003047517810-pat00027
로 변환시키기 위한 동형 변환 매트릭스(δ)를 발생하는 단계; 동형 변환 매트릭스에 의해
Figure 112003047517810-pat00028
상의 입력 비트들을
Figure 112003047517810-pat00029
상으로 선행 변환시키는 단계;
Figure 112003047517810-pat00030
상의 비트들에 대하여
Figure 112003047517810-pat00031
곱셈 연산,
Figure 112003047517810-pat00032
곱셈 연산,
Figure 112003047517810-pat00033
역 연산을 이용하는 역원 연산하여 역 출력 비트들(Y[7:0])로 발생하는 단계;
Figure 112003047517810-pat00034
상의 역 출력 비트들(Y[7:0])을
Figure 112003047517810-pat00035
상의 비트들로 재변환시키기 위한 역 동형 변환 매트릭스를 발생하는 단계; 및 역 동형 변환 매트릭스에 의해
Figure 112003047517810-pat00036
상의 역 출력 비트들(Y[7:0])을 멱승 변환 및 어파인 변환하여
Figure 112003047517810-pat00037
상으로 후행 변환하는 단계를 포함한다.In order to achieve the above another object, the block cipher algorithm of the present invention is based on the S-box of SEED.
Figure 112003047517810-pat00026
Input bits (X [7: 0]) on the
Figure 112003047517810-pat00027
Generating an isomorphic transformation matrix δ for transforming to; By homomorphic transformation matrix
Figure 112003047517810-pat00028
Input bits on the
Figure 112003047517810-pat00029
Preconversion to phase;
Figure 112003047517810-pat00030
The bits on
Figure 112003047517810-pat00031
Multiplication operation,
Figure 112003047517810-pat00032
Multiplication operation,
Figure 112003047517810-pat00033
Inverse operation using an inverse operation to generate the inverse output bits Y [7: 0];
Figure 112003047517810-pat00034
Output bits (Y [7: 0]) on the
Figure 112003047517810-pat00035
Generating an inverse homogeneous transformation matrix for reconversion to bits on the image; And by inverse homogeneous transformation matrix
Figure 112003047517810-pat00036
Power and affine the inverse output bits (Y [7: 0]) of the phase
Figure 112003047517810-pat00037
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-박스의 입출력은

Figure 112003047517810-pat00038
상의 원소이므로, 다음과 같은 관계가 성립한다.I / O of SEED S-box is
Figure 112003047517810-pat00038
Since the phase is an element, the following relationship holds.

Figure 112003047517810-pat00039
Figure 112003047517810-pat00039

그러므로,

Figure 112003047517810-pat00040
연산은 다음과 같이 변환 가능하다.therefore,
Figure 112003047517810-pat00040
The operation can be converted as follows.

Figure 112003047517810-pat00041
Figure 112003047517810-pat00041

따라서, 수학식 1은 다음과 같이 재정의된다.Therefore, Equation 1 is redefined as follows.

Figure 112003047517810-pat00042
Figure 112003047517810-pat00042

그리고,

Figure 112003047517810-pat00043
도 다음과 같이 변환 가능하다.And,
Figure 112003047517810-pat00043
Can also be converted as follows.

Figure 112003047517810-pat00044
Figure 112003047517810-pat00044

따라서, 수학식 2은 다음과 같이 재정의된다.Therefore, Equation 2 is redefined as follows.

Figure 112003047517810-pat00045
Figure 112003047517810-pat00045

그러므로, SEED의 S-박스의 연산이

Figure 112003047517810-pat00046
상의 원소에 대한 역원 연산으로 변환하여 구현 가능하다는 것을 알 수 있다.Therefore, the calculation of the S-box of SEED
Figure 112003047517810-pat00046
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 preprocessing operation 110, an inverse operation 120, and a postprocessing 130.

선행 연산부(110)는 SEED의 S-박스의

Figure 112003047517810-pat00047
Figure 112003047517810-pat00048
로 변환시키는 데, 그 동작은 다음과 같다.The preceding operation unit 110 of the S-box of the SEED
Figure 112003047517810-pat00047
To
Figure 112003047517810-pat00048
In this case, the operation is as follows.

SEED의 S-박스의

Figure 112003047517810-pat00049
와 변환하고자 하는
Figure 112003047517810-pat00050
는 다음과 같은 기약 다항식(irreducible polynomial)으로 정의된다.SEED of S-box
Figure 112003047517810-pat00049
To convert
Figure 112003047517810-pat00050
Is defined as the irreducible polynomial:

Figure 112003047517810-pat00051
Figure 112003047517810-pat00051

Figure 112003047517810-pat00052
Figure 112003047517810-pat00052

Figure 112003047517810-pat00053
Figure 112003047517810-pat00053

Figure 112003047517810-pat00054
Figure 112003047517810-pat00054

수학식 7 및 8에서 정의된 기약 다항식을 이용하여

Figure 112003047517810-pat00055
에서
Figure 112003047517810-pat00056
로 변환시키는 동형 변환 매트릭스(isomorphic transformation matrix: δ)는 다음과 같이 정의된다.Using the contract polynomials defined in equations (7) and (8)
Figure 112003047517810-pat00055
in
Figure 112003047517810-pat00056
The isomorphic transformation matrix (δ) to be transformed into is defined as follows.

Figure 112003047517810-pat00057
Figure 112003047517810-pat00057

따라서, 선행 연산부(110)에서는 입력 비트들(I[7:0])이 동형 변환 매트릭스(δ)에 의해 출력 비트들(X[7:0])로 변환된다. 즉,Accordingly, in the preceding operation unit 110, the input bits I [7: 0] are converted into the output bits X [7: 0] by the homogeneous conversion matrix δ. In other words,

Figure 112003047517810-pat00058
Figure 112003047517810-pat00058

으로 표현되고, 이를 구현하는 회로 블락은 도 2에 도시되어 있다.The circuit block for implementing the block is shown in FIG.

그리고 동형 변환 매트릭스(δ)는 다음과 같이 7개가 더 존재한다.There are seven more homomorphic transformation matrices as follows.

Figure 112003047517810-pat00059
Figure 112003047517810-pat00059

Figure 112003047517810-pat00060
Figure 112003047517810-pat00060

Figure 112003047517810-pat00061
Figure 112003047517810-pat00061

Figure 112003047517810-pat00062
Figure 112003047517810-pat00062

Figure 112003047517810-pat00064
Figure 112003047517810-pat00064

Figure 112003047517810-pat00065
Figure 112003047517810-pat00065

다음으로, 도 1의 역원 연산부(120)는

Figure 112003047517810-pat00066
곱셈 연산부,
Figure 112003047517810-pat00067
곱셈 연산부,
Figure 112003047517810-pat00068
역 연산부, 그리고 배타적 논리합(exclusive OR) 연산부를 포함한다. 이들 구성요소들 간의 연결관계는 구체적으로 도 3에서 설명된다.Next, the inverse operator 120 of FIG. 1
Figure 112003047517810-pat00066
Multiplication unit,
Figure 112003047517810-pat00067
Multiplication unit,
Figure 112003047517810-pat00068
An inverse operator, and an exclusive OR operator. The connection between these components is specifically described in FIG.

도 3을 참조하면, 역원 연산부(120)는 선행 연산부(110)의 출력 비트들(X[7:0])을 입력한 후 역출력 비트들(

Figure 112003047517810-pat00069
[7:0])을 생성한다. 제1 내지 제4 출력 비트들(X[3:0])과 제5 내지 제8 출력 비트들(X[7:4])은 제1 XOR 연산부(208)로 제공되어 배타적 논리합된다. 제5 내지 제8 출력 비트들(X[7:4])은 입력 제곱 비트들(
Figure 112003047517810-pat00070
)을 출력하는
Figure 112003047517810-pat00071
제곱 연산부(202)로 입력되고, 제곱 연산부(202)의 입력 제곱 비트들(
Figure 112003047517810-pat00072
)은
Figure 112003047517810-pat00073
상수 곱셈부(204)로 입력된 후 제2 XOR 연산부(210)로 입력된다.
Figure 112003047517810-pat00074
제곱 연산부(202)는 도 4에, 그리고
Figure 112003047517810-pat00075
상수 곱셈부(204)는 도 5에 구체적으로 도시되어 있다.Referring to FIG. 3, the inverse operator 120 inputs the output bits X [7: 0] of the preceding operator 110 and then outputs the inverse output bits (
Figure 112003047517810-pat00069
[7: 0]). The first to fourth output bits X [3: 0] and the fifth to eighth output bits X [7: 4] are provided to the first XOR operator 208 to perform an exclusive OR. The fifth to eighth output bits X [7: 4] are input square bits (
Figure 112003047517810-pat00070
Outputting
Figure 112003047517810-pat00071
Input to the square operator 202, and input square bits of the square operator 202 (
Figure 112003047517810-pat00072
)silver
Figure 112003047517810-pat00073
After input to the constant multiplier 204 is input to the second XOR operator 210.
Figure 112003047517810-pat00074
The square operator 202 is shown in FIG. 4, and
Figure 112003047517810-pat00075
Constant multiplier 204 is specifically illustrated in FIG. 5.

도 4의

Figure 112003047517810-pat00076
제곱 연산부(202)는 제8 입력 비트(X[7])를 제4 입력 제곱 비트(
Figure 112003047517810-pat00077
)로, 상기 제8 입력 비트(X[7]) 및 제7 입력 비트(X[6])를 배타적 논리합하여 제3 입력 제곱 비트(
Figure 112003047517810-pat00078
)로, 제7 입력 비트(X[6]) 및 제6 입력 비트(X[5])를 배타적 논리합하여 제2 입력 제곱 비트(
Figure 112003047517810-pat00079
)로, 그리고 제8 입력 비트(X[7]), 제6 입력 비트(X[5]) 및 제4 입력 비트(X[4])를 배타적 논리합하여 제1 입력 제곱 비트(
Figure 112003047517810-pat00080
)로 출력한다.4
Figure 112003047517810-pat00076
The square calculating unit 202 converts the eighth input bit X [7] to the fourth input square bit (
Figure 112003047517810-pat00077
) By the exclusive OR of the eighth input bit X [7] and the seventh input bit X [6].
Figure 112003047517810-pat00078
) By the exclusive OR of the seventh input bit X [6] and the sixth input bit X [5], the second input square bit (
Figure 112003047517810-pat00079
) And an exclusive OR of the eighth input bit X [7], the sixth input bit X [5], and the fourth input bit X [4]
Figure 112003047517810-pat00080
)

도 5의

Figure 112003047517810-pat00081
상수 곱셈부(204)는 제3 입력 제곱 비트(
Figure 112003047517810-pat00082
)를 제1 출력 비트로, 제4 입력 제곱 비트(
Figure 112003047517810-pat00083
)를 제2 출력 비트로, 제4 입력 제곱 비트(
Figure 112003047517810-pat00084
), 제2 입력 제곱 비트(
Figure 112003047517810-pat00085
) 및 제1 출력 비트를 배타적 논리합하여 제3 출력 비트로, 그리고 제3 입력 제곱 비트(
Figure 112003047517810-pat00086
) 및 제1 입력 제곱 비트(
Figure 112003047517810-pat00087
)을 배타적 논리합하여 상기 제4 출력 비트로 출력한다.Of FIG. 5
Figure 112003047517810-pat00081
The constant multiplication unit 204 is configured to generate a third input square bit (
Figure 112003047517810-pat00082
) As the first output bit and the fourth input squared bit (
Figure 112003047517810-pat00083
) As the second output bit and the fourth input squared bit (
Figure 112003047517810-pat00084
), The second input squared bit (
Figure 112003047517810-pat00085
) And the first output bit are exclusive ORed to the third output bit and the third input squared bit (
Figure 112003047517810-pat00086
) And the first input squared bit (
Figure 112003047517810-pat00087
) Is exclusively ORed and output as the fourth output bit.

다시, 도 3에서, 제1 내지 제4 출력 비트들(X[3:0]) 및 제1 XOR 연산부(208)의 출력은 제1

Figure 112003047517810-pat00088
곱셈 연산부(206)로 입력되고, 제1
Figure 112003047517810-pat00089
곱셈 연산부(206)의 출력은 XOR 연산부(210)로 입력된다. 제1
Figure 112003047517810-pat00090
곱셈 연산부(206)는 구체적으로 도 6에 도시되어 있다.Again, in FIG. 3, the outputs of the first to fourth output bits X [3: 0] and the first XOR operator 208 are first
Figure 112003047517810-pat00088
It is input to the multiplication operation unit 206, the first
Figure 112003047517810-pat00089
The output of the multiplication operator 206 is input to the XOR operator 210. First
Figure 112003047517810-pat00090
The multiplication operator 206 is specifically shown in FIG.

도 6을 참조하면, 제1

Figure 112003047517810-pat00091
곱셈 연산부(206)는 제1 내지 제4 출력 비트들(X[3:0])을 제1 그룹의 입력 비트들(a[3:0])으로 정의하고, 제1 XOR 연산부(208)의 출력 비트들을 제2 그룹의 입력 비트들(b[3:0])로 정의하여 설명한다. 제1
Figure 112003047517810-pat00092
곱셈 연산부(206)는 제1 그룹의 제3 및 제4 출력 비트들(a[3:2])과 제2 그룹의 제3 및 제4 입력 비트들(b[3:2])을 입력하는 제1
Figure 112003047517810-pat00093
곱셈 연산부(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
Figure 112003047517810-pat00094
곱셈 연산부(508)과, 제1 그룹의 제1 및 제2 입력 비트들(a[1:0])과 제2 그룹의 제1 및 제2 입력 비트들(b[1:0])을 입력하는 제3
Figure 112003047517810-pat00095
곱셈 연산부(512)과, 제1
Figure 112003047517810-pat00096
곱셈 연산부(502)의 출력을 입력하는
Figure 112003047517810-pat00097
상수 곱셈부(504)와, 제2
Figure 112003047517810-pat00098
곱셈 연산부(508)의 출력과 제3
Figure 112003047517810-pat00099
곱셈 연산부(512)의 출력을 배타적 논리합하여
Figure 112003047517810-pat00100
상의 제3 및 제4 출력 비트(axb[3:2])를 출력하는 제3 XOR 연산부(514)와, 그리고
Figure 112003047517810-pat00101
상수 곱셈부(504)의 출력과 제3
Figure 112003047517810-pat00102
곱셈 연산부(512)의 출력을 배타적 논리합하여
Figure 112003047517810-pat00103
상의 제1 및 제2 출력 비트(axb[1:0])를 출력하는 제4 XOR 연산부(516)를 포함한다.Referring to FIG. 6, the first
Figure 112003047517810-pat00091
The multiplication operator 206 defines the first to fourth output bits X [3: 0] as the input bits a [3: 0] of the first group, and defines the first XOR operator 208. The output bits will be described by defining input bits b [3: 0] of the second group. First
Figure 112003047517810-pat00092
The multiplication operation unit 206 inputs the third and fourth output bits a [3: 2] of the first group and the third and fourth input bits b [3: 2] of the second group. First
Figure 112003047517810-pat00093
An exclusive OR of the multiplication operation unit 502 and the third and fourth input bits a [3: 2] of the first group and the first and second input bits a [1; 0] of the first group. The first XOR operator 506, the third and fourth input bits b [3: 2] of the second group, and the first and second input bits a [1: 0] of the first group. ) And a second XOR operator 510 for exclusive ORing, and a second XOR operator 506 and a second XOR operator 510 for inputting the output.
Figure 112003047517810-pat00094
The multiplication operator 508 inputs the first and second input bits a [1: 0] of the first group and the first and second input bits b [1: 0] of the second group. The third
Figure 112003047517810-pat00095
Multiplication operation unit 512, and the first
Figure 112003047517810-pat00096
Inputting the output of the multiplication operation unit 502
Figure 112003047517810-pat00097
A constant multiplication unit 504, and a second
Figure 112003047517810-pat00098
Output of the multiplication operator 508 and the third
Figure 112003047517810-pat00099
Exclusive OR of the output of the multiplication operation unit 512
Figure 112003047517810-pat00100
A third XOR operator 514 for outputting the third and fourth output bits axb [3: 2] on the image, and
Figure 112003047517810-pat00101
The output of the constant multiplication unit 504 and the third
Figure 112003047517810-pat00102
Exclusive OR of the output of the multiplication operation unit 512
Figure 112003047517810-pat00103
And a fourth XOR operator 516 for outputting first and second output bits axb [1: 0] of the image.

Figure 112003047517810-pat00104
상수 곱셈부(504)는 도 7에 구체적으로 도시되어 있으며, 제1
Figure 112003047517810-pat00105
곱셈 연산부(502)의 제2 출력 비트(x[1]) 및 제1 출력 비트(x[0])를 배타적 논리합하여
Figure 112003047517810-pat00106
상수 곱셈부(504)의 제2 출력 비트(xΦ[1])로, 그리고 제1
Figure 112003047517810-pat00107
곱셈 연산부(502)의 제2 출력 비트(x[1])를
Figure 112003047517810-pat00108
상수 곱셈부(504)의 제1 출력 비트(xΦ[0])로 출력한다.
Figure 112003047517810-pat00104
Constant multiplier 504 is specifically illustrated in FIG.
Figure 112003047517810-pat00105
Exclusive-OR of the second output bit x [1] and the first output bit x [0] of the multiplication operation unit 502
Figure 112003047517810-pat00106
To the second output bit (xΦ [1]) of the constant multiplication unit 504, and to the first
Figure 112003047517810-pat00107
The second output bit (x [1]) of the multiplication operation unit 502
Figure 112003047517810-pat00108
The first output bit (xΦ [0]) of the constant multiplication unit 504 is output.

도 6의 제1 내지 제3

Figure 112003047517810-pat00109
곱셈 연산부들(502, 508, 512) 각각은 구체적으로 도 8에 도시되는 데, 대표적으로 제1
Figure 112003047517810-pat00110
곱셈 연산부들(502)는 제1 및 제2 출력 비트들(X[1:0])을 제1 그룹의 입력 비트들(a[1:0])으로 정의하고, 제1 XOR 연산부(208)의 출력 비트들을 제2 그룹의 입력 비트들(b[1:0])로 정의하여 설명한다. 제1
Figure 112003047517810-pat00111
곱셈 연산부들(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 앤드 게이트 출력을 배타적 논리합하여
Figure 112003047517810-pat00112
상의 제2 출력 비트(axb[1])를 출력하는 제1 XOR 연산부(805)와, 그리고 제3 및 제4 앤드 게이트 출력을 배타적 논리합하여
Figure 112003047517810-pat00113
상의 제1 출력 비트를 출력하는 제2 XOR 연산부(806)를 포함한다.First to third of FIG. 6
Figure 112003047517810-pat00109
Each of the multiplication operators 502, 508, 512 is specifically shown in FIG. 8, typically the first
Figure 112003047517810-pat00110
The multiplication operators 502 define the first and second output bits X [1: 0] as input bits a [1: 0] of the first group, and the first XOR operator 208. The output bits of the circuit are defined as input bits b [1: 0] of the second group. First
Figure 112003047517810-pat00111
The multiplication operators 502 include a first AND gate 801 for inputting a second input bit (a [1]) of the first group and a first input bit (b [0]) of the second group. A second AND gate 802 for inputting the first input bit a [0] of the first group and the second input bit b [1] of the second group, and the second input bit of the first group ( a third end gate 803 for inputting a [1]) and the second input bit b [1] of the second group, and the first input bit a [0] of the first group and the second group The exclusive AND of the fourth AND gate 804 and the first to third AND gate outputs for inputting the first input bit b [0] of
Figure 112003047517810-pat00112
An exclusive OR of the first XOR operator 805 for outputting the second output bit axb [1] of the image, and the third and fourth AND gate outputs.
Figure 112003047517810-pat00113
And a second XOR operator 806 for outputting a first output bit of the image.

다시, 도 3으로 돌아가서, XOR 연산부(210)는

Figure 112003047517810-pat00114
상수 곱셈부(204)의 출력과 제1
Figure 112003047517810-pat00115
곱셈 연산부(206)의 출력을 배타적 논리합하여 그 출력을
Figure 112003047517810-pat00116
역 연산부(212)로 전달한다.
Figure 112003047517810-pat00117
역 연산부(212) 상에서의 연산은 입출력의 갯수가
Figure 112003047517810-pat00118
개밖에 안되기 때문에 연산 회로로 구현하는 것 보다 사전 계산값을 이용하여 논리 회로로 구성하 것이 더 효율적이다.
Figure 112003047517810-pat00119
역 연산부(212) 상의 모든 원소에 대한 역원 사전 계산 값은 표 1과 같다.3 again, the XOR operator 210
Figure 112003047517810-pat00114
The output of the constant multiplication unit 204 and the first
Figure 112003047517810-pat00115
Exclusive-OR of the output of the multiplication operation unit 206 and the output
Figure 112003047517810-pat00116
Transfer to reverse operation unit 212.
Figure 112003047517810-pat00117
The operation on the inverse operation unit 212 is the number of input / output
Figure 112003047517810-pat00118
Because there are only a few, it is more efficient to construct a logic circuit using pre-calculated values than to implement a computation circuit.
Figure 112003047517810-pat00119
The inverse pre-calculated values for all elements on the inverse operator 212 are shown in Table 1.

xx

Figure 112003047517810-pat00120
Figure 112003047517810-pat00120
xx
Figure 112003047517810-pat00121
Figure 112003047517810-pat00121
xx
Figure 112003047517810-pat00122
Figure 112003047517810-pat00122
xx
Figure 112003047517810-pat00123
Figure 112003047517810-pat00123
0x00x0 0x00x0 0x40x4 0xf0xf 0x80x8 0xa0xa 0xc0xc 0x50x5 0x10x1 0x10x1 0x50x5 0xc0xc 0x90x9 0x60x6 0xd0xd 0xe0xe 0x20x2 0x30x3 0x60x6 0x90x9 0xa0xa 0x80x8 0xe0xe 0xd0xd 0x30x3 0x20x2 0x70x7 0xb0xb 0xb0xb 0x70x7 0xf0xf 0x40x4

Figure 112003047517810-pat00124
역 연산부(212)의 출력은 각각 제2 및 제3
Figure 112003047517810-pat00125
곱셈 연산부들(214, 216)로 입력된 후, 제5 내지 제7 역출력 비트들(
Figure 112003047517810-pat00126
[7:4])과 제1 내지 제4 역출력 비트들(
Figure 112003047517810-pat00127
[3:0])로 출력된다. 제2 및 제3
Figure 112003047517810-pat00128
곱셈 연산부들(214, 216)은 앞서 설명한 도 6의 제1
Figure 112003047517810-pat00129
곱셈 연산부(206)와 구성이 동일하다.
Figure 112003047517810-pat00124
The outputs of the inverse operator 212 are the second and the third, respectively.
Figure 112003047517810-pat00125
After input to the multiplication operators 214 and 216, the fifth to seventh inverse output bits (
Figure 112003047517810-pat00126
[7: 4]) and the first to fourth reverse output bits (
Figure 112003047517810-pat00127
[3: 0]). 2nd and 3rd
Figure 112003047517810-pat00128
The multiplication operations 214 and 216 are the first of FIG. 6.
Figure 112003047517810-pat00129
The configuration is the same as that of the multiplication operation unit 206.

다시, 도 1로 돌아가서, 후행 연산부(130)는 역원 연산부(120)에서

Figure 112003047517810-pat00130
상의 역원 연산한 결과를
Figure 112003047517810-pat00131
상의 원소로 재변환해 주어야 한다.
Figure 112003047517810-pat00132
상의 역원 연산한 결과를
Figure 112003047517810-pat00133
상의 원소로 재변환시키는 역 동형 변환 매트릭스(inverse isomorphic transformation matrix:
Figure 112003047517810-pat00134
)는 수학식 10의 동형 변환 매트릭스(δ)에 대한 역 매트릭스(inverse matrix)를 사용하면 다음과 같이 나타난다.Again, returning to FIG. 1, the trailing operator 130 is the inverse operator 120
Figure 112003047517810-pat00130
The result of the inverse calculation on the
Figure 112003047517810-pat00131
You must reconvert it to the element of the top.
Figure 112003047517810-pat00132
The result of the inverse calculation on the
Figure 112003047517810-pat00133
Inverse isomorphic transformation matrix:
Figure 112003047517810-pat00134
) Is expressed as follows using an inverse matrix for the homogeneous transformation matrix δ of Equation 10.

Figure 112003047517810-pat00135
Figure 112003047517810-pat00135

SEED의 S-박스는 역원 연산이 아닌 멱승(제곱) 연산이므로,

Figure 112003047517810-pat00136
의 경우
Figure 112003047517810-pat00137
연산이 필요하고
Figure 112003047517810-pat00138
의 경우
Figure 112003047517810-pat00139
연산이 필요하다.
Figure 112003047517810-pat00140
상의 제곱 연산은 간단한 XOR 연산으로 구현이 가능하므로,
Figure 112003047517810-pat00141
연산 및
Figure 112003047517810-pat00142
연산은 다음과 같이 주어진다.S-box in SEED is a power (square) operation rather than an inverse operation,
Figure 112003047517810-pat00136
In the case of
Figure 112003047517810-pat00137
Operation is required
Figure 112003047517810-pat00138
In the case of
Figure 112003047517810-pat00139
Operation is required.
Figure 112003047517810-pat00140
The square operation of the phase can be implemented by a simple XOR operation,
Figure 112003047517810-pat00141
Operation and
Figure 112003047517810-pat00142
The operation is given by

Figure 112003047517810-pat00143
Figure 112003047517810-pat00143

여기에서,

Figure 112003047517810-pat00144
이다.From here,
Figure 112003047517810-pat00144
to be.

Figure 112003047517810-pat00145
Figure 112003047517810-pat00145

여기에서,

Figure 112003047517810-pat00146
이다.From here,
Figure 112003047517810-pat00146
to be.

Figure 112003047517810-pat00147
상의 멱승 연산 결과는
Figure 112003047517810-pat00148
Figure 112003047517810-pat00149
에 주어진 매트릭스와 상수를 이용하여 어파인 변환(affine transformation)을 수행하게 된다.
Figure 112003047517810-pat00147
Squared results on
Figure 112003047517810-pat00148
Wow
Figure 112003047517810-pat00149
The affine transformation is performed using the matrix and constants given in.

이러한 후행 연산부(130)의 역 동형 변환 매트릭스(

Figure 112003047517810-pat00150
)와
Figure 112003047517810-pat00151
상의
Figure 112003047517810-pat00152
Figure 112003047517810-pat00153
멱승 변환부, 그리고 어파인 변환부의 동작은 하나의 변환 매트릭스로 병합할 수 있다. 즉,
Figure 112003047517810-pat00154
에 대한 후행 연산부(130)의 변환 매트릭스는The inverse homogeneous transformation matrix of the trailing operation unit 130 (
Figure 112003047517810-pat00150
)Wow
Figure 112003047517810-pat00151
top
Figure 112003047517810-pat00152
and
Figure 112003047517810-pat00153
The power transform unit and the affine transform unit may be merged into one transform matrix. In other words,
Figure 112003047517810-pat00154
The transformation matrix of the trailing operator 130 for

Figure 112003047517810-pat00155
Figure 112003047517810-pat00156
Figure 112003047517810-pat00155
Figure 112003047517810-pat00156

으로 나타난다. 이 변환 매트릭스를 구현하는 회로도가 도 9에 도시되어 있다. Appears. A circuit diagram for implementing this transformation matrix is shown in FIG.

그리고

Figure 112003047517810-pat00157
에 대한 후행 연산부(130)의 변환 매트릭스는And
Figure 112003047517810-pat00157
The transformation matrix of the trailing operator 130 for

Figure 112003047517810-pat00158
Figure 112003047517810-pat00159
Figure 112003047517810-pat00158
Figure 112003047517810-pat00159

으로 나타내고, 이 변환 매트릭스를 구현하는 회로도가 도 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)

SEED의 S-박스의
Figure 112003047517810-pat00160
상의 입력 비트들(X[7:0])을 동형 변환 매트릭스(δ)에 의해
Figure 112003047517810-pat00161
로 변환시키는 선행 연산부;
SEED of S-box
Figure 112003047517810-pat00160
The input bits (X [7: 0]) of the phase by means of the homogeneous transformation matrix δ.
Figure 112003047517810-pat00161
A precomputation unit for converting the data into an integer;
상기 선행 연산부의 출력 비트들을 입력하여 역 출력 비트들(Y[7:0])로 출력하는 역원 연산부; 및An inverse operator for inputting output bits of the preceding operator and outputting inverse output bits (Y [7: 0]); And 상기
Figure 112003047517810-pat00162
상의 역 출력 비트들(Y[7:0])을 역 동형 변환 매트릭스에 의해 상기
Figure 112003047517810-pat00163
로 재변환시키는 후행 연산부를 구비하는 것을 특징으로 하는 블록 암호화 연산 장치.
remind
Figure 112003047517810-pat00162
The inverse output bits Y [7: 0] on the phase by means of an inverse homogeneous transformation matrix
Figure 112003047517810-pat00163
And a post-computation unit for reconverting the data into a block cipher.
제1항에 있어서, 상기 동형 변환 매트릭스는The method of claim 1, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00164
로 나타내는 것을 특징으로 하는 블록 암호화 장치.
Figure 112003047517810-pat00164
Block encryption apparatus characterized in that.
제1항에 있어서, 상기 동형 변환 매트릭스는The method of claim 1, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00165
로 나타내는 것을 특징으로 하는 블록 암호화 장치.
Figure 112003047517810-pat00165
Block encryption apparatus characterized in that.
제1항에 있어서, 상기 동형 변환 매트릭스는The method of claim 1, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00166
로 나타내는 것을 특징으로 하는 블록 암호화 장치.
Figure 112003047517810-pat00166
Block encryption apparatus characterized in that.
제1항에 있어서, 상기 동형 변환 매트릭스는The method of claim 1, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00167
로 나타내는 것을 특징으로 하는 블록 암호화 장치.
Figure 112003047517810-pat00167
Block encryption apparatus characterized in that.
제1항에 있어서, 상기 동형 변환 매트릭스는The method of claim 1, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00168
로 나타내는 것을 특징으로 하는 블록 암호화 장치.
Figure 112003047517810-pat00168
Block encryption apparatus characterized in that.
제1항에 있어서, 상기 동형 변환 매트릭스는The method of claim 1, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00169
로 나타내는 것을 특징으로 하는 블록 암호화 장 치.
Figure 112003047517810-pat00169
Block encryption device characterized in that.
제1항에 있어서, 상기 동형 변환 매트릭스는The method of claim 1, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00170
로 나타내는 것을 특징으로 하는 블록 암호화 장치.
Figure 112003047517810-pat00170
Block encryption apparatus characterized in that.
제1항에 있어서, 상기 동형 변환 매트릭스는The method of claim 1, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00171
로 나타내는 것을 특징으로 하는 블록 암호화 장치.
Figure 112003047517810-pat00171
Block encryption apparatus characterized in that.
제1항에 있어서, 상기 역원 연산부는The method of claim 1, wherein the inverse calculating unit 상기 제5 내지 제8 입력 비트들과 상기 제1 내지 제4 입력 비트들을 배타적 논리합하는 제1 익스클루시브-오아 연산부;A first exclusive-or operation unit configured to exclusive OR the fifth to eighth input bits and the first to fourth input bits; 상기 제1 내지 제4 입력 비트들 및 상기 제1 익스클루시브-오아 연산부의 출력을 입력하는 제1
Figure 112003047517810-pat00172
곱셈 연산부;
First to input the first to fourth input bits and the output of the first exclusive-or operation unit
Figure 112003047517810-pat00172
A multiplication operation unit;
상기 제5 내지 제8 입력 비트들을 입력하여 제1 내지 제4 입력 제곱 비트들로 출력하는
Figure 112003047517810-pat00173
제곱 연산부;
Inputting the fifth to eighth input bits and outputting the first to fourth input square bits
Figure 112003047517810-pat00173
Square computing unit;
상기 제1 내지 제4 입력 제곱 비트들을 입력하여 제1 내지 제4 출력 비트들을 출력하는
Figure 112003047517810-pat00174
상수 곱셈부;
Outputting first to fourth output bits by inputting the first to fourth input square bits
Figure 112003047517810-pat00174
Constant multiplication;
상기 제1
Figure 112003047517810-pat00175
곱셈 연산부의 출력과 상기
Figure 112003047517810-pat00176
상수 곱셈부의 출력을 배타적 논리합하는 제2 익스클루시브-오아(XOR) 연산부;
The first
Figure 112003047517810-pat00175
The output of the multiplication operator
Figure 112003047517810-pat00176
A second exclusive-or (XOR) operator for exclusive ORing the output of the constant multiplier;
상기 익스클루시브-오아(XOR) 연산부의 출력을 입력하는
Figure 112003047517810-pat00177
역 연산부;
Inputting the output of the exclusive-or (XOR) operation unit
Figure 112003047517810-pat00177
Inverse operation unit;
상기
Figure 112003047517810-pat00178
역 연산부의 출력 및 상기 제5 내지 제8 입력 비트들을 입력하여 상기 제5 내지 제7 역 출력 비트들(Y[7:4])을 출력하는 제2
Figure 112003047517810-pat00179
곱셈 연산부; 및
remind
Figure 112003047517810-pat00178
A second outputting of the inverse calculating part and the fifth to eighth input bits to output the fifth to seventh inverse output bits Y [7: 4]
Figure 112003047517810-pat00179
A multiplication operation unit; And
상기
Figure 112003047517810-pat00180
역 연산부의 출력 및 상기 제1 내지 제4 입력 비트들을 입력하여 상기 제1 내지 제4 역 출력 비트들(Y[3:0])을 출력하는 제2
Figure 112003047517810-pat00181
곱 셈 연산부를 구비하는 것을 특징으로 하는 블록 암호화 장치.
remind
Figure 112003047517810-pat00180
A second outputting inverse calculator and the first to fourth input bits to output the first to fourth reverse output bits Y [3: 0]
Figure 112003047517810-pat00181
And a multiplication operation unit.
제10항에 있어서, 상기
Figure 112003047517810-pat00182
제곱 연산부는
The method of claim 10, wherein
Figure 112003047517810-pat00182
The square calculation unit
상기 제8 입력 비트(X[7])를 상기 제4 입력 제곱 비트(
Figure 112003047517810-pat00183
)로, 상기 제8 입력 비트(X[7]) 및 상기 제7 입력 비트(X[6])를 배타적 논리합하여 상기 제3 입력 제곱 비트(
Figure 112003047517810-pat00184
)로, 상기 제7 입력 비트(X[6]) 및 상기 제6 입력 비트(X[5])를 배타적 논리합하여 상기 제2 입력 제곱 비트(
Figure 112003047517810-pat00185
)로, 그리고 상기 제8 입력 비트(X[7]), 상기 제6 입력 비트(X[5]) 및 상기 제4 입력 비트(X[4])를 배타적 논리합하여 상기 제1 입력 제곱 비트(
Figure 112003047517810-pat00186
)로 출력하는 것을 특징으로 하는 블록 암호화 장치.
The eighth input bit (X [7]) is converted into the fourth input square bit (
Figure 112003047517810-pat00183
) By the exclusive OR of the eighth input bit X [7] and the seventh input bit X [6],
Figure 112003047517810-pat00184
) By the exclusive OR of the seventh input bit X [6] and the sixth input bit X [5],
Figure 112003047517810-pat00185
) And exclusively OR of the eighth input bit X [7], the sixth input bit X [5], and the fourth input bit X [4] to form the first input square bit (
Figure 112003047517810-pat00186
Outputting a block encryption apparatus.
제10항에 있어서, 상기
Figure 112003047517810-pat00187
상수 곱셈부는
The method of claim 10, wherein
Figure 112003047517810-pat00187
Constant multiplication
상기 제3 입력 제곱 비트(
Figure 112003047517810-pat00188
)를 상기 제1 출력 비트로, 상기 제4 입력 제곱 비트(
Figure 112003047517810-pat00189
)를 상기 제2 출력 비트로, 상기 제4 입력 제곱 비트(
Figure 112003047517810-pat00190
), 상기 제2 입력 제곱 비트(
Figure 112003047517810-pat00191
) 및 상기 제1 출력 비트를 배타적 논리합하여 상기 제3 출력 비트로, 그리고 상기 제3 입력 제곱 비트(
Figure 112003047517810-pat00192
) 및 상기 제1 입력 제곱 비트(
Figure 112003047517810-pat00193
)을 배타적 논리합하여 상기 제4 출력 비트로 출력하는 것을 특징으로 하는 블록 암호화 장치.
The third input square bit (
Figure 112003047517810-pat00188
) Is the first output bit, and the fourth input square bit (
Figure 112003047517810-pat00189
) Is the second output bit, and the fourth input square bit (
Figure 112003047517810-pat00190
), The second input square bit (
Figure 112003047517810-pat00191
) And exclusively OR the first output bit to the third output bit and the third input squared bit (
Figure 112003047517810-pat00192
) And the first input square bit (
Figure 112003047517810-pat00193
) Is output as the fourth output bit by exclusive OR.
제10항에 있어서, 상기 제1 내지 제3
Figure 112003047517810-pat00194
곱셈 연산부 각각은
The method of claim 10, wherein the first to third
Figure 112003047517810-pat00194
Each of the multiplication units
제1 그룹의 제3 및 제4 입력 비트들과 제2 그룹의 제3 및 제4 입력 비트들을 입력하는 제1
Figure 112003047517810-pat00195
곱셈 연산부;
A first inputting the third and fourth input bits of the first group and the third and fourth input bits of the second group
Figure 112003047517810-pat00195
A multiplication operation unit;
상기 제1 그룹의 제3 및 제4 입력 비트들과 상기 제1 그룹의 제1 및 제2 입력 비트들을 배타적 논리합하는 제1 익스클루시브-오아 연산부;A first exclusive-or operation unit configured to exclusive OR the third and fourth input bits of the first group and the first and second input bits of the first group; 제2 그룹의 제3 및 제4 입력 비트들과 상기 제1 그룹의 제1 및 제2 입력 비트들을 배타적 논리합하는 제2 익스클루시브-오아 연산부;A second exclusive-or operation unit that exclusively ORs the third and fourth input bits of a second group and the first and second input bits of the first group; 상기 제1 익스클루시브-오아 연산부의 출력과 상기 제2 익스클루시브-오아 연산부의 출력을 입력하는 제2
Figure 112003047517810-pat00196
곱셈 연산부;
A second input unit configured to input an output of the first exclusive ora calculator and an output of the second exclusive ora calculator;
Figure 112003047517810-pat00196
A multiplication operation unit;
상기 제1 그룹의 제1 및 제2 입력 비트들과 상기 제2 그룹의 제1 및 제2 입력 비트들을 입력하는 제3
Figure 112003047517810-pat00197
곱셈 연산부;
A third inputting the first and second input bits of the first group and the first and second input bits of the second group
Figure 112003047517810-pat00197
A multiplication operation unit;
상기 제1
Figure 112003047517810-pat00198
곱셈 연산부의 출력을 입력하는
Figure 112003047517810-pat00199
상수 곱셈부;
The first
Figure 112003047517810-pat00198
Inputting the output of the multiplication operation unit
Figure 112003047517810-pat00199
Constant multiplication;
상기 제2
Figure 112003047517810-pat00200
곱셈 연산부의 출력과 상기 제3
Figure 112003047517810-pat00201
곱셈 연산부의 출력을 배타적 논리합하여
Figure 112003047517810-pat00202
상의 제3 및 제4 출력 비트를 출력하는 제3 익스클루시브-오아 연산부; 및
The second
Figure 112003047517810-pat00200
An output of the multiplication operation unit and the third
Figure 112003047517810-pat00201
Exclusive OR of the output of the multiplication operation unit
Figure 112003047517810-pat00202
A third exclusive-or operation unit outputting third and fourth output bits on the image; And
상기
Figure 112003047517810-pat00203
상수 곱셈부의 출력과 상기 제3
Figure 112003047517810-pat00204
곱셈 연산부의 출력을 배타적 논리합하여 상기
Figure 112003047517810-pat00205
상의 제1 및 제2 출력 비트를 출력하는 제4 익스클루시브-오아 연산부를 구비하고,
remind
Figure 112003047517810-pat00203
An output of the constant multiplication unit and the third
Figure 112003047517810-pat00204
Exclusive OR of the output of the multiplication operation unit
Figure 112003047517810-pat00205
A fourth exclusive-or-operation unit for outputting first and second output bits of the image;
상기 제1 내지 제3
Figure 112003047517810-pat00206
곱셈 연산부쪽으로 하나의 입력으로 제공되는 입력 비트들을 상기 제1 그룹으로 설정하고 나머지 입력으로 제공되는 입력 비트들을 상기 제2 그룹으로 설정하는 것을 특징으로 하는 블록 암호화 장치.
The first to third
Figure 112003047517810-pat00206
And setting input bits provided as one input to the multiplication operation unit as the first group and input bits provided as the remaining inputs as the second group.
제13항에 있어서, 상기 제1 내지 제3
Figure 112003047517810-pat00207
곱셈 연산부 각각은
The method of claim 13, wherein the first to third
Figure 112003047517810-pat00207
Each of the multiplication units
제1 그룹의 제2 입력 비트와 제2 그룹의 제1 입력 비트를 입력하는 제1 앤드 게이트;A first AND gate configured to input a second input bit of the first group and a first input bit of the second group; 상기 제1 그룹의 제1 입력 비트와 상기 제2 그룹의 제2 입력 비트를 입력하는 제2 앤드 게이트;A second AND gate configured to input the first input bit of the first group and the second input bit of the second group; 상기 제1 그룹의 제2 입력 비트와 상기 제2 그룹의 제2 입력 비트를 입력하는 제3 앤드 게이트;A third AND gate configured to input the second input bit of the first group and the second input bit of the second group; 상기 제1 그룹의 제1 입력 비트와 상기 제2 그룹의 제1 입력 비트를 입력하는 제4 앤드 게이트;A fourth AND gate configured to input the first input bit of the first group and the first input bit of the second group; 상기 제1 내지 제3 앤드 게이트 출력을 배타적 논리합하여
Figure 112003047517810-pat00208
상의 제2 출력 비트를 출력하는 제1 익스클루시브-오아 연산부; 및
An exclusive OR of the first to third AND gate outputs
Figure 112003047517810-pat00208
A first exclusive-or operation unit outputting a second output bit on the image; And
상기 제3 및 제4 앤드 게이트 출력을 배타적 논리합하여 상기
Figure 112003047517810-pat00209
상의 제1 출력 비트를 출력하는 제2 익스클루시브-오아 연산부를 구비하고,
The exclusive AND of the third and fourth AND gate outputs
Figure 112003047517810-pat00209
A second exclusive-or operation unit outputting a first output bit on the image;
상기 제1 내지 제3
Figure 112003047517810-pat00210
곱셈 연산부쪽으로 하나의 입력으로 제공되는 입력 비트들을 상기 제1 그룹으로 설정하고 나머지 입력으로 제공되는 입력 비트들을 상기 제2 그룹으로 설정하는 것을 특징으로 하는 블록 암호화 장치.
The first to third
Figure 112003047517810-pat00210
And setting input bits provided as one input to the multiplication operation unit as the first group and input bits provided as the remaining inputs as the second group.
제13항에 있어서, 상기
Figure 112003047517810-pat00211
상수 곱셈부는
The method of claim 13, wherein
Figure 112003047517810-pat00211
Constant multiplication
상기 제1
Figure 112003047517810-pat00212
곱셈 연산부의 제2 출력 비트 및 상기 제1 출력 비트를 배타적 논리합하여 상기 곱셈부의 제2 출력 비트로, 그리고 상기 제1
Figure 112003047517810-pat00213
곱셈 연산부의 제2 출력 비트를 상기 곱셈부의 제1 출력 비트로 출력하는 것을 특징으로 하는 블록 암호화 장치.
The first
Figure 112003047517810-pat00212
An exclusive OR of the second output bit and the first output bit of a multiplication operation unit to the second output bit of the multiplication unit, and the first output bit
Figure 112003047517810-pat00213
And outputting the second output bit of the multiplication operation unit as the first output bit of the multiplication unit.
제10항에 있어서, 상기
Figure 112003047517810-pat00214
역 연산부는
The method of claim 10, wherein
Figure 112003047517810-pat00214
Inverse calculation unit
사전 계산값에 의해 상기
Figure 112003047517810-pat00215
역 연산부로 입력되는 입력 비트(x) 값에 대하여 소정의 출력 비트(
Figure 112003047517810-pat00216
) 값으로 출력하는 룩-업 테이블로 제공되는 것을 특징으로 하는 블록 암호화 장치.
Reminded by precalculation
Figure 112003047517810-pat00215
With respect to the input bit (x) value input to the inverse operation unit, a predetermined output bit (
Figure 112003047517810-pat00216
Block encryption apparatus characterized in that provided as a look-up table that outputs a value).
제16항에 있어서, 상기
Figure 112003047517810-pat00217
역 연산부는
The method of claim 16, wherein
Figure 112003047517810-pat00217
Inverse calculation unit
xx
Figure 112003047517810-pat00218
Figure 112003047517810-pat00218
xx
Figure 112003047517810-pat00219
Figure 112003047517810-pat00219
xx
Figure 112003047517810-pat00220
Figure 112003047517810-pat00220
xx
Figure 112003047517810-pat00221
Figure 112003047517810-pat00221
0x00x0 0x00x0 0x40x4 0xf0xf 0x80x8 0xa0xa 0xc0xc 0x50x5 0x10x1 0x10x1 0x50x5 0xc0xc 0x90x9 0x60x6 0xd0xd 0xe0xe 0x20x2 0x30x3 0x60x6 0x90x9 0xa0xa 0x80x8 0xe0xe 0xd0xd 0x30x3 0x20x2 0x70x7 0xb0xb 0xb0xb 0x70x7 0xf0xf 0x40x4
로 제공되는 것을 특징으로 하는 블록 암호화 장치.Block encryption apparatus, characterized in that provided by.
제1항에 있어서, 상기 후행 연산부는The method of claim 1, wherein the trailing operation unit 상기 역 동형 변환 매트릭스에 의해 재변환된 상기
Figure 112003047517810-pat00222
상의 원소들을 제곱하는
Figure 112003047517810-pat00223
멱승 변환부; 및
The reconverted by the inverse homogeneous transformation matrix
Figure 112003047517810-pat00222
To square the elements on
Figure 112003047517810-pat00223
Power conversion unit; And
상기
Figure 112003047517810-pat00224
멱승부의 출력을 상기 블록 암호화 장치의 출력으로 발생시키는 어파인 변환부를 구비하는 것을 특징으로 하는 블록 암호화 장치.
remind
Figure 112003047517810-pat00224
And an affine transform unit for generating an output of the power generation unit as an output of the block encryption device.
제18항에 있어서, 상기
Figure 112003047517810-pat00225
멱승 변환부는
19. The method of claim 18, wherein
Figure 112003047517810-pat00225
Power-conversion section
상기 SEED의
Figure 112003047517810-pat00226
박스의
Figure 112003047517810-pat00227
연산이
Of the SEED
Figure 112003047517810-pat00226
Out of the box
Figure 112003047517810-pat00227
Operation
Figure 112003047517810-pat00228
로 나타나고,
Figure 112003047517810-pat00229
인 것을 특징으로 하는 블록 암호화 장치.
Figure 112003047517810-pat00228
Appears as
Figure 112003047517810-pat00229
Block encryption apparatus, characterized in that.
제18항에 있어서, 상기
Figure 112003047517810-pat00230
멱승 변환부는
19. The method of claim 18, wherein
Figure 112003047517810-pat00230
Power-conversion section
상기 SEED의
Figure 112003047517810-pat00231
박스의
Figure 112003047517810-pat00232
연산이
Of the SEED
Figure 112003047517810-pat00231
Out of the box
Figure 112003047517810-pat00232
Operation
Figure 112003047517810-pat00233
로 나타내고,
Figure 112003047517810-pat00234
인 것을 특징으로 하는 블록 암호화 장치.
Figure 112003047517810-pat00233
Represented by
Figure 112003047517810-pat00234
Block encryption apparatus, characterized in that.
제18항에 있어서, 상기 후행 연산부는The method of claim 18, wherein the trailing operation unit 상기 SEED의
Figure 112003047517810-pat00235
에 대한 변환 매트릭스가
Of the SEED
Figure 112003047517810-pat00235
The transformation matrix for
Figure 112003047517810-pat00236
Figure 112003047517810-pat00237
으로 나타나고,
Figure 112003047517810-pat00236
Figure 112003047517810-pat00237
Appears as
상기 O[7:0]은 상기 블록 암호화 장치의 출력 비트들을, 그리고 상기 Y[7:0]은 상기 역원 연산부의 출력 비트들을 나타내는 것을 특징으로 하는 블록 암호화 장치. O [7: 0] is the output bits of the block cipher, and Y [7: 0] is the output bits of the inverse operator.
제18항에 있어서, 상기 후행 연산부는The method of claim 18, wherein the trailing operation unit 상기 SEED의
Figure 112003047517810-pat00238
에 대한 변환 매트릭스가
Of the SEED
Figure 112003047517810-pat00238
The transformation matrix for
Figure 112003047517810-pat00239
Figure 112003047517810-pat00240
으로 나타나고,
Figure 112003047517810-pat00239
Figure 112003047517810-pat00240
Appears as
상기 O[7:0]은 상기 블록 암호화 장치의 출력 비트들을, 그리고 상기 Y[7:0]은 상기 역원 연산부의 출력 비트들을 나타내는 것을 특징으로 하는 블록 암호화 장치.O [7: 0] is the output bits of the block cipher, and Y [7: 0] is the output bits of the inverse operator.
SEED의 S-박스의
Figure 112003047517810-pat00241
상의 입력 비트들(X[7:0])을
Figure 112003047517810-pat00242
로 변환시키기 위한 동형 변환 매트릭스(δ)를 발생하는 단계;
SEED of S-box
Figure 112003047517810-pat00241
Input bits (X [7: 0]) on the
Figure 112003047517810-pat00242
Generating an isomorphic transformation matrix δ for transforming to;
상기 동형 변환 매트릭스에 의해 상기
Figure 112003047517810-pat00243
상의 입력 비트들을
Figure 112003047517810-pat00244
상으로 선행 변환시키는 단계;
By the isomorphic transformation matrix
Figure 112003047517810-pat00243
Input bits on the
Figure 112003047517810-pat00244
Preconversion to phase;
상기
Figure 112003047517810-pat00245
상의 비트들에 대하여
Figure 112003047517810-pat00246
곱셈 연산,
Figure 112003047517810-pat00247
곱셈 연산,
Figure 112003047517810-pat00248
역 연산을 이용하는 역원 연산하여 역 출력 비트들(Y[7:0])로 발생하는 단계;
remind
Figure 112003047517810-pat00245
The bits on
Figure 112003047517810-pat00246
Multiplication operation,
Figure 112003047517810-pat00247
Multiplication operation,
Figure 112003047517810-pat00248
Inverse operation using an inverse operation to generate the inverse output bits Y [7: 0];
상기
Figure 112003047517810-pat00249
상의 역 출력 비트들(Y[7:0])을 상기
Figure 112003047517810-pat00250
상의 비트들로 재변환시키기 위한 역 동형 변환 매트릭스를 발생하는 단계; 및
remind
Figure 112003047517810-pat00249
The inverse output bits Y [7: 0] on the above
Figure 112003047517810-pat00250
Generating an inverse homogeneous transformation matrix for reconversion to bits on the image; And
상기 역 동형 변환 매트릭스에 의해 상기
Figure 112003047517810-pat00251
상의 역 출력 비트들(Y[7:0])을 멱승 변환 및 어파인 변환하여 상기
Figure 112003047517810-pat00252
상으로 후행 변환하는 단계를 구비하는 것을 특징으로 하는 블록 암호 알고리즘.
By the inverse homogeneous transformation matrix
Figure 112003047517810-pat00251
The inverse output bits Y [7: 0] on the power of the power and affine transform to
Figure 112003047517810-pat00252
And post-converting the image to a block cipher algorithm.
제23항에 있어서, 상기 동형 변환 매트릭스는The method of claim 23, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00253
로 나타내는 것을 특징으로 하는 블록 암호 알고리즘.
Figure 112003047517810-pat00253
Block cipher algorithm, characterized in that represented by.
제23항에 있어서, 상기 동형 변환 매트릭스는The method of claim 23, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00254
로 나타내는 것을 특징으로 하는 블록 암호 알고리즘.
Figure 112003047517810-pat00254
Block cipher algorithm, characterized in that represented by.
제23항에 있어서, 상기 동형 변환 매트릭스는The method of claim 23, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00255
로 나타내는 것을 특징으로 하는 블록 암호 알고 리즘.
Figure 112003047517810-pat00255
Block cipher algorithm, characterized by.
제23항에 있어서, 상기 동형 변환 매트릭스는The method of claim 23, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00256
로 나타내는 것을 특징으로 하는 블록 암호 알고리즘.
Figure 112003047517810-pat00256
Block cipher algorithm, characterized in that represented by.
제23항에 있어서, 상기 동형 변환 매트릭스는The method of claim 23, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00257
로 나타내는 것을 특징으로 하는 블록 암호 알고리즘.
Figure 112003047517810-pat00257
Block cipher algorithm, characterized in that represented by.
제23항에 있어서, 상기 동형 변환 매트릭스는The method of claim 23, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00258
로 나타내는 것을 특징으로 하는 블록 암호 알고리즘.
Figure 112003047517810-pat00258
Block cipher algorithm, characterized in that represented by.
제23항에 있어서, 상기 동형 변환 매트릭스는The method of claim 23, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00259
로 나타내는 것을 특징으로 하는 블록 암호 알고리즘.
Figure 112003047517810-pat00259
Block cipher algorithm, characterized in that represented by.
제23항에 있어서, 상기 동형 변환 매트릭스는The method of claim 23, wherein the homogeneous transformation matrix is
Figure 112003047517810-pat00260
로 나타내는 것을 특징으로 하는 블록 암호 알고리 즘.
Figure 112003047517810-pat00260
Block cipher algorithm, characterized by.
제23항에 있어서, 상기 상기
Figure 112003047517810-pat00261
역 연산부는
The method of claim 23, wherein said
Figure 112003047517810-pat00261
Inverse calculation unit
xx
Figure 112003047517810-pat00262
Figure 112003047517810-pat00262
xx
Figure 112003047517810-pat00263
Figure 112003047517810-pat00263
xx
Figure 112003047517810-pat00264
Figure 112003047517810-pat00264
xx
Figure 112003047517810-pat00265
Figure 112003047517810-pat00265
0x00x0 0x00x0 0x40x4 0xf0xf 0x80x8 0xa0xa 0xc0xc 0x50x5 0x10x1 0x10x1 0x50x5 0xc0xc 0x90x9 0x60x6 0xd0xd 0xe0xe 0x20x2 0x30x3 0x60x6 0x90x9 0xa0xa 0x80x8 0xe0xe 0xd0xd 0x30x3 0x20x2 0x70x7 0xb0xb 0xb0xb 0x70x7 0xf0xf 0x40x4
로 제공되는 것을 특징으로 하는 블록 암호 알고리즘.Block cipher algorithm, characterized in that provided by.
제23항에 있어서, 상기
Figure 112003047517810-pat00266
상의 멱승 변환하는 단계는
The method of claim 23, wherein
Figure 112003047517810-pat00266
Power conversion on Pinterest
상기 SEED의
Figure 112003047517810-pat00267
박스의
Figure 112003047517810-pat00268
연산이
Of the SEED
Figure 112003047517810-pat00267
Out of the box
Figure 112003047517810-pat00268
Operation
Figure 112003047517810-pat00269
로 나타나고,
Figure 112003047517810-pat00270
인 것을 특징으로 하는 블록 암호 알고리즘.
Figure 112003047517810-pat00269
Appears as
Figure 112003047517810-pat00270
Block cipher algorithm, characterized in that.
제23항에 있어서, 상기
Figure 112003047517810-pat00271
멱승 변환하는 단계는
The method of claim 23, wherein
Figure 112003047517810-pat00271
Power conversion step
상기 SEED의
Figure 112003047517810-pat00272
박스의
Figure 112003047517810-pat00273
연산이
Of the SEED
Figure 112003047517810-pat00272
Out of the box
Figure 112003047517810-pat00273
Operation
Figure 112003047517810-pat00274
로 나타내고,
Figure 112003047517810-pat00275
인 것을 특징으로 하는 블록 암호 알고리즘.
Figure 112003047517810-pat00274
Represented by
Figure 112003047517810-pat00275
Block cipher algorithm, characterized in that.
제23항에 있어서, 상기 후행 변환하는 단계는24. The method of claim 23, wherein the post conversion 상기 SEED의
Figure 112003047517810-pat00276
에 대한 변환 매트릭스가
Of the SEED
Figure 112003047517810-pat00276
The transformation matrix for
Figure 112003047517810-pat00277
Figure 112003047517810-pat00278
으로 나타나고,
Figure 112003047517810-pat00277
Figure 112003047517810-pat00278
Appears as
상기 O[7:0])는 상기 블록 암호 알고리즘에 의한 출력 비트들을 나타내는 것을 특징으로 하는 블록 암호화 장치. O [7: 0]) represents output bits by the block cipher algorithm.
제23항에 있어서, 상기 후행 연산부는The method of claim 23, wherein the trailing operation unit 상기 SEED의
Figure 112003047517810-pat00279
에 대한 변환 매트릭스가
Of the SEED
Figure 112003047517810-pat00279
The transformation matrix for
Figure 112003047517810-pat00280
Figure 112003047517810-pat00281
으로 나타나고,
Figure 112003047517810-pat00280
Figure 112003047517810-pat00281
Appears as
상기 O[7:0]은 상기 블록 암호 알고리즘의 출력 비트들을 나타내는 것을 특징으로 하는 블록 암호화 장치.And O [7: 0] represents output bits of the block cipher algorithm.
KR1020030090568A 2003-12-12 2003-12-12 SEED block encryption algorithm using composite field and hardware structure therefore KR100532484B1 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452726B (en) * 2016-06-22 2020-04-07 深圳华视微电子有限公司 S-shaped box and construction method thereof

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