KR100894330B1 - Method and apparatus for supporting encryption/decryption function of aes and aria - Google Patents

Method and apparatus for supporting encryption/decryption function of aes and aria Download PDF

Info

Publication number
KR100894330B1
KR100894330B1 KR1020070046526A KR20070046526A KR100894330B1 KR 100894330 B1 KR100894330 B1 KR 100894330B1 KR 1020070046526 A KR1020070046526 A KR 1020070046526A KR 20070046526 A KR20070046526 A KR 20070046526A KR 100894330 B1 KR100894330 B1 KR 100894330B1
Authority
KR
South Korea
Prior art keywords
aes
aria
function
key
integrated
Prior art date
Application number
KR1020070046526A
Other languages
Korean (ko)
Other versions
KR20080043205A (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 US11/923,806 priority Critical patent/US8094815B2/en
Publication of KR20080043205A publication Critical patent/KR20080043205A/en
Application granted granted Critical
Publication of KR100894330B1 publication Critical patent/KR100894330B1/en
Priority to US13/311,683 priority patent/US20120076294A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled

Abstract

본 발명은 AES(Advanced Encryption Standard) 및 ARIA(Academy, Research Institute, Agency) 암호화/복호화 알고리즘을 지원하는 연산 방법 및 장치에 관한 것이다. 이를 위해 본 발명은 입력 키를 이용하여 라운드 키를 생성하는 키스케듈러; 및 입력 데이터 및 상기 라운드 키를 이용하여 암호화/복호화된 데이터를 생성하는 라운드함수연산부를 포함하되, 상기 라운드함수연산부는 AES 및 ARIA 알고리즘을 모두 수행할 수 있는 통합치환계층 및 통합확산계층을 포함하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 통합 연산 장치를 제공한다.The present invention relates to an operation method and apparatus for supporting an advanced encryption standard (AES) and an academic, research institute, agency (ARIA) encryption / decryption algorithm. To this end, the present invention provides a key scheduler for generating a round key using an input key; And a round function operator configured to generate encrypted / decrypted data using the input data and the round key, wherein the round function operator includes an integrated substitution layer and an integrated diffusion layer capable of performing both AES and ARIA algorithms. An integrated computing device supporting the encryption / decryption functions of AES and ARIA is provided.

AES, ARIA, 암/복호화, 통합 연산기 AES, ARIA, Encryption / Decryption, Integrated Computers

Description

AES 및 ARIA의 암호화/복호화 기능을 지원하는 연산 방법 및 장치{METHOD AND APPARATUS FOR SUPPORTING ENCRYPTION/DECRYPTION FUNCTION OF AES AND ARIA}Calculation method and apparatus supporting encryption / decryption function of AES and ARRIA {METHOD AND APPARATUS FOR SUPPORTING ENCRYPTION / DECRYPTION FUNCTION OF AES AND ARIA}

도 1은 AES 알고리즘의 암호화 과정.1 is an encryption process of the AES algorithm.

도 2는 ARIA 알고리즘의 암호화 과정.2 is an encryption process of the ARIA algorithm.

도 3은 본 발명의 일실시예에 따른 AES 및 ARIA 통합 하드웨어 연산 장치의 블록도.3 is a block diagram of an AES and ARIA integrated hardware computing device in accordance with one embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 통합 치환 계층의 내부 블록도.4 is an internal block diagram of a unified replacement layer according to an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 SA S-Box 블록의 내부 블록도.5 is an internal block diagram of the S A S-Box block according to an embodiment of the present invention.

도 6은 본 발명의 일실시예에 따른 SU S-Box 블록의 내부 블록도6 is an internal block diagram of a S U S-Box block according to an embodiment of the present invention;

도 7은 본 발명의 일실시예에 따른 통합 확산 계층의 내부 블록도7 is an internal block diagram of an integrated spreading layer in accordance with an embodiment of the present invention.

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

310: AES 및 ARIA 통합 하드웨어 연산 장치의 라운드 함수 연산부.310: Round function calculator of AES and ARIA integrated hardware computing unit.

320: AES 및 ARIA의 치환 연산을 수행하는 통합 치환 계층.320: Unified substitution layer that performs substitution operations of AES and ARIA.

330: AES 및 ARIA의 확산 연산을 수행하는 통합 확산 계층.330: Unified spreading layer for spreading operations of AES and ARIA.

340: 128-비트 데이터 저장용 레지스터.340: Register for storing 128-bit data.

350: AES 및 ARIA 통합 하드웨어 연산 장치의 키스케줄러.350: Key scheduler for AES and ARIA integrated hardware computing units.

360: AES 키스케줄링을 담당하는 블록.360: Block responsible for AES key scheduling.

370: ARIA 키스케줄링을 담당하는 블록.370: Block responsible for ARIA key scheduling.

380: ARIA의 Wo 키 저장용 및 AES 키 저장용으로 사용되는 레지스터.380: Register used for storing Wo key and AES key of ARIA.

410: AES S-Box 역할을 수행하는SA S-Box 블록.410: S A S-Box block to play the role of AES S-Box.

420: AES 및 ARIA S-Box 역할을 수행하는 SU S-Box 블록.420: S U S-Box block serving as AES and ARIA S-Box.

710: 통합 확산 계층의 중간항 A.710: Middle term of the unified spread layer A.

720: 통합 확산 계층의 중간항 B.720: Middle term of the unified spread layer B.

730: 통합 확산 계층의 중간항 C.730: middle term of the unified spread layer C.

740: 통합 확산 계층의 중간항 D.740: middle term of the unified spreading layer D.

750: 통합 확산 계층의 중간항 E.750: Middle term of the unified spread layer E.

760: 통합 확산 계층의 AES MixColumns 연산 결과값 Y.760: AES MixColumns operation result value Y of the unified diffusion layer.

770: 통합 확산 계층의 AES InvMixColumns 연산 결과값 Z.770: AES InvMixColumns operation result Z of the unified spread layer.

780: 통합 확산 계층의 ARIA 확산 연산 결과값 W.780: ARIA spread operation result of the unified spread layer W.

790: 통합 확산 계층의 최종 결과값 U를 선택적으로 결정하는 MUX.790: MUX optionally determining the final result U of the unified spread layer.

본 발명은 AES(Advanced Encryption Standard)와 ARIA(Academy, Research Institute, Agency) 암호화/복호화 알고리즘을 지원하는 연산 방법 및 장치에 관한 것이다.The present invention relates to an operation method and apparatus for supporting an advanced encryption standard (AES) and an academic, research institute, agency (ARIA) encryption / decryption algorithm.

AES 블록 암호 알고리즘은 지난 2001년 미국 NIST(National Institute of Standards and Technology)에 의해 미국 표준으로 채택되었다. 또한 ARIA 블록 암호 알고리즘은 한국산업규격 표준으로 채택되었다. 이러한 AES와 ARIA, 두 개의 국내외 표준 블록 암호 알고리즘은 스마트카드, 전자여권, 서버급 암호 장비 등 다양한 암호 분야에서 널리 사용되고 있다.The AES block cipher algorithm was adopted as the American standard by the National Institute of Standards and Technology (NIST) in 2001. ARIA block cipher algorithm is also adopted as the standard of Korean industry standard. Two domestic and international standard block cipher algorithms such as AES and ARIA are widely used in various cipher fields such as smart card, ePassport, and server class cipher equipment.

암호화 연산은 일반적으로 처리 속도가 느리기 때문에 하드웨어로 구현하는 경우가 대부분이다. AES나 ARIA의 하드웨어 구현 분야는 초기에 주로 고성능 구현 기법이나 구현 방법별로 그 성능을 비교 분석하는 연구가 주로 이루어졌다. 하지만 점차 휴대폰, RFID(Radio Frequency IDentification)와 같은 소형 무선 기술이 발전하면서 최근에는 소형화, 저전력화 구현에 관한 연구가 발표되었다. Encryption operations are generally slow, so they are often implemented in hardware. In the hardware implementation field of AES or ARIA, research was mainly conducted to compare and analyze the performance by high performance implementation method or implementation method. However, with the development of small wireless technologies such as mobile phones and radio frequency identification (RFID), recent research on miniaturization and low power implementation has been published.

두 개 이상의 암호 알고리즘을 지원하는 통합 하드웨어 암호 연산 장치에 대한 연구는 단일 암호 알고리즘에 대한 연산 장치에 대한 연구에 비해 활발하지 못하다. 그 이유는 하드웨어 구현은 소프트웨어의 경우와 달리, 두 가지 알고리즘을 구현하기 위해서는 일반적으로 두 배의 하드웨어 자원이 소모되기 문제점이 있기 때문이다. 하지만, 도 1과 도 2에 각각 나타내었듯이, AES와 ARIA 알고리즘은 라운드 함수가 둘 다 SPN(Substitution Permutation Network) 구조로 서로 많은 공통점 을 가지고 있다. 먼저 치환 계층의 기반 연산인 S-Box의 경우, 두 알고리즘은 동일한 유한체(Finite Field) GF(28)을 사용한다. 또한 확산 계층에서 사용하는 상수배 행렬 연산에서는 두 알고리즘이 공통으로 사용하는 항들을 추출할 수 있다.The research on integrated hardware cryptographic computing devices that support more than one cryptographic algorithm is less active than the research on computing devices for a single cryptographic algorithm. The reason is that hardware implementation, unlike software, generally requires twice as much hardware resources to implement two algorithms. However, as shown in FIG. 1 and FIG. 2, the AES and ARIA algorithms have a lot in common with each other in a round permutation structure (SPN) structure. First, in the case of S-Box, which is the base operation of the substitution layer, both algorithms use the same finite field GF (2 8 ). In addition, in the constant matrix operation used in the spreading layer, terms common to both algorithms can be extracted.

상기와 같은 문제점을 해결하기 위해, 본 발명은 AES 및 ARIA 알고리즘간의 공통요소에 대한 하드웨어 자원 공유 기법을 사용하여, AES 및 ARIA 암호화/복호화 기능을 모두 지원하는 통합 하드웨어 연산 방법 및 장치를 제공한다.In order to solve the above problems, the present invention provides a method and apparatus for integrated hardware operation that supports both AES and ARIA encryption / decryption functions by using hardware resource sharing techniques for common elements between AES and ARIA algorithms.

상기 목적을 달성하기 위하여 본 발명은, 입력 데이터 및 라운드 키를 입력받는 단계와; 상기 입력 데이터 및 라운드 키를 이용하여 AES 및 ARIA의 통합치환계층에서 AES 및 ARIA에 공통으로 사용되는 S-Box 연산을 수행하는 단계와; 상기 S-Box 연산이 수행된 데이터를 이용하여 AES 및 ARIA의 통합확산계층에서 확산 연산을 수행하는 단계를 포함하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 연산 방법을 제공한다.The present invention to achieve the above object, the step of receiving input data and round key; Performing S-Box operations commonly used for AES and ARIA in an integrated exchange layer of AES and ARIA using the input data and the round key; It provides a calculation method for supporting the encryption / decryption function of the AES and ARIA comprising the step of performing a spread operation in the integrated diffusion layer of AES and ARIA using the data on which the S-Box operation is performed.

또한, 상기 목적을 달성하기 위하여 본 발명은, 입력 키를 이용하여 라운드 키를 생성하는 키스케듈러; 및 입력 데이터 및 상기 라운드 키를 이용하여 암호화/복호화된 데이터를 생성하는 라운드함수연산부를 포함하되, 상기 라운드함수연산부 는 AES 및 ARIA 알고리즘을 모두 수행할 수 있는 통합치환계층 및 통합확산계층을 포함하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 통합 연산 장치를 제공한다. In addition, to achieve the above object, the present invention, a key scheduler for generating a round key using the input key; And a round function operator configured to generate encrypted / decrypted data using the input data and the round key, wherein the round function operator includes an integrated substitution layer and an integrated diffusion layer capable of performing both AES and ARIA algorithms. An integrated computing device supporting the encryption / decryption functions of AES and ARIA is provided.

본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우는 해당되는 발명의 상세한 설명 부분에서 그 의미를 기재하였으므로, 단순한 용어의 명칭이 아닌 용어가 가지는 의미로서 본 발명을 파악하여야 한다.The terms used in the present invention are selected as general terms that are widely used at present, but in some cases, the term is arbitrarily selected by the applicant, in which case the meaning is described in the detailed description of the invention, The present invention should be understood as meanings of terms rather than names.

이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention that can specifically realize the above object will be described.

도 3은 본 발명에서 제안하는 AES 및 ARIA 통합 하드웨어 장치의 블록도이다. 상기 라운드 함수 연산부(310)는 입력 데이터와 라운드 키를 입력받아 통합 치환 계층(320)과 통합 확산 계층(330)을 중심으로 128-비트 데이터 저장용 레지스터(340), 데이터 경로 선택을 위한 MUX(Multiplexer) 등으로 구성되며, 한 라운드 연산을 수행하는 역할을 한다. 또한 상기 키 스케줄러(350)는 AES 키 스케줄러 블록(360)과 ARIA 키 스케줄러 블록(370)으로 구성되며 매 라운드마다 필요한 라운드 키를 "on-the-fly"방식으로 계산할 수 있다. 이때 하드웨어 자원 절약을 위해 ARIA의 라운드 키 저장 공간 중 하나인 128-비트 레지스터 Wo(380)를 AES의 라운드 키 저장용 레지스터와 공용으로 사용할 수 있다.3 is a block diagram of the AES and ARIA integrated hardware device proposed in the present invention. The round function operator 310 receives input data and a round key, and registers a register for the 128-bit data storage 340 around the integrated substitution layer 320 and the integrated diffusion layer 330 and a MUX for selecting a data path. Multiplexer), etc., and performs one round operation. In addition, the key scheduler 350 includes an AES key scheduler block 360 and an ARIA key scheduler block 370. The key scheduler 350 may calculate a round key required for each round in an “on-the-fly” manner. At this time, in order to save hardware resources, one of the ARIA's round key storage space, 128-bit register Wo 380 may be shared with the AES round key storage register.

도 4는 상기 통합 치환 계층의 구조를 나타내는 블록도이다. 도 4를 참조하 면 통합 치환 계층은 SA(AES S-Box, 410)와 SU(Unified S-Box, 420)로 구성된다. 먼저 SA는 AES와 ARIA에 공통으로 사용되는 S-Box인 아래의 [수학식 1]과 같은 Sl과 Sl-1기능을 선택적으로 수행한다.4 is a block diagram showing the structure of the integrated substitution layer. Referring to FIG. 4, the unified replacement layer is composed of S A (AES S-Box 410) and S U (Unified S-Box 420). First, SA selectively performs Sl and Sl- 1 functions such as Equation 1 below, which is an S-Box commonly used for AES and ARIA.

도 5는 SA의 내부 구조를 나타내는 블록도이다. 여기서 δA는 GF(28)상의 8-비트 입력을 GF(((22)2)2)상의 원소로 매핑시키는 동형(Isomorphism) 함수이고, AffS1은 아래의 [수학식 1]에 나타낸 아핀 변환 함수이다. 또한 AffS1 -1A와 δA -1*AffS1은 δA와 아핀 변환 함수의 결합(Combined) 함수이다. 이러한 SA는 AES에서 사용하는 S-Box와 그 기능이 동일하므로 상세한 설명은 생략한다.5 is a block diagram showing the internal structure of S A. Where δ A is an isomorphism function that maps an 8-bit input on GF (2 8 ) to an element on GF (((2 2 ) 2 ) 2 ), and Aff S1 is shown in Equation 1 below. Affine conversion function. Also, Aff S1 -1 * δ A and δ A -1 * Aff S1 are combined functions of δ A and the affine transformation function. Such S A has the same function as the S-Box used in AES, and thus detailed description thereof will be omitted.

Figure 112007035392687-pat00001
Figure 112007035392687-pat00001

Figure 112007035392687-pat00002
Figure 112007035392687-pat00002

한편 SU는 S1, S1 -1, S2, S2 -1의 네 가지 기능을 선택적으로 수행한다. 여기서 S2는 x-1 대신 x247을 사용하는데, 유한체 GF(28)상의 임의의 원소 x에 대해

Figure 112007035392687-pat00003
는(i는 임의의 정수)는 적당한 8x8 이진 정칙 행렬 Mi를 사용하여Mi*x로 정리될 수 있다. 따라서 S-Box S2와 S2 -1는 아래의 [수학식 2]와 같이 정리될 수 있다. 도 6은 SU의 내부 구조를 나타내는 블록도이다. 여기서 δU는 동형 함수이고 AffS2는 아래의 [수학식 2]에 나타낸 아핀 변환 함수이다. 이때 하드웨어 면적을 최적화하기 위해 가능한 동형 함수 δU를 모두 조사하여, δU, δU -1, AffS1 -1U, δU -1*AffS1, AffS2 -1U, δU -1*AffS2의 6개 함수에서 각각 사용하는 8x8 이진 행렬의 "1"의 개수가 가장 작은 동형 함수 δU를 결정하고 이에 따라 나머지 함수들도 계산한다.Meanwhile, S U selectively performs four functions: S 1 , S 1 -1 , S 2 , and S 2 -1 . Where S 2 uses x 247 instead of x -1 , for any element x on the finite field GF (2 8 )
Figure 112007035392687-pat00003
(I is any integer) can be summed into M i * x using the appropriate 8x8 binary regular matrix M i . Therefore, S-Box S 2 and S 2 -1 can be summarized as in [Equation 2] below. 6 is a block diagram showing the internal structure of S U. Where δ U is an isomorphic function and Aff S2 is the affine transformation function shown in Equation 2 below. In order to optimize the hardware area, all possible homogeneous functions δ U are investigated and δ U , δ U -1 , Aff S1 -1 * δ U , δ U -1 * Aff S1 , Aff S2 -1 * δ U , δ The smallest "1" number of 8x8 binary matrices used in each of the six functions of U -1 * Aff S2 determines the smallest isomorphic function δ U and calculates the remaining functions accordingly.

Figure 112007035392687-pat00004
Figure 112007035392687-pat00004

Figure 112007035392687-pat00005
Figure 112007035392687-pat00005

AES의 확산 계층은 MixColumns 연산 및 InvMixColumns 연산을 암호화와 복호화 시에 각각 수행한다. 이러한 AES의 확산 계층에서는 32-비트 데이터 단위로 행렬 곱셈 연산을 수행하게 된다. 반면에 ARIA의 확산 계층은 128-비트 전체 데이터 에 대해 바이트 단위로 16x16 이진 행렬 곱셈을 수행한다. 본 발명에 따른 연산 방법 및 장치는 이러한 AES 및 ARIA의 확산 계층에서 사용되는 공통항을 축출하여 128-비트 단위로 동작하는 AES 및 ARIA의 통합 확산 계층을 가진다. The spreading layer of AES performs MixColumns and InvMixColumns operations at the time of encryption and decryption, respectively. In the spreading layer of the AES, matrix multiplication is performed on 32-bit data units. ARIA's spreading layer, on the other hand, performs 16x16 binary matrix multiplication by byte for all 128-bit data. The computing method and apparatus according to the present invention has a unified spreading layer of AES and ARIA operating in 128-bit units by evicting the common term used in the spreading layer of AES and ARIA.

먼저 AES 알고리즘에서 128-비트 입력 [X0, X1, X2, X3]에 대한 MixColumns 연산의 128-비트 결과값 [Y0, Y1, Y2, Y3]는 아래의 [수학식 3]과 같이 정리될 수 있다. 여기서, Xi, Yi는 32-비트 단위 데이터를 나타낸다.First, the 128-bit result [Y 0 , Y 1 , Y 2 , Y 3 ] of the MixColumns operation on the 128-bit input [X 0 , X 1 , X 2 , X 3 ] in the AES algorithm is given by 3] can be summarized as follows. Here, X i , Y i represent 32-bit unit data.

Figure 112007035392687-pat00006
Figure 112007035392687-pat00006

여기서 4x4 행렬 M0, M0', M0"는 아래 식과 같다.Where the 4x4 matrix M 0 , M 0 ', M 0 "is given by

Figure 112007035392687-pat00007
Figure 112007035392687-pat00007

또한 InvMixColumns 연산의 128-비트 결과값 [Z0, Z1, Z2, Z3]은 같은 방식으로 아래의 [수학식 4]와 같이 정리된다. 여기서, Zi는 32-비트 단위 데이터를 나타낸다.In addition, the 128-bit result [Z 0 , Z 1 , Z 2 , Z 3 ] of the InvMixColumns operation is summarized in the same manner as shown in Equation 4 below. Here, Z i represents 32-bit unit data.

Figure 112007035392687-pat00008
Figure 112007035392687-pat00008

여기서, 4x4 행렬 M1, M1', M1"는 아래 식과 같다.Here, the 4x4 matrix M 1 , M 1 ′, M 1 ″ is as shown below.

Figure 112007035392687-pat00009
Figure 112007035392687-pat00009

한편 ARIA 알고리즘에서 128-비트 입력 [x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15]에 대한 확산 연산 결과값 [w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15]는 아래의 [수학식 5]와 같이 표현될 수 있다. 여기서, xi 및 wi 는 8-비트 단위 데이터를 나타낸다. [수학식 5]를 32-비트 단위 연산으로 다시 표현하면 아래의 [수학식 6]과 같이 정리될 수 있다. 여기서,Wi 및 Xi는 32-비트 단위 데이터를 나타낸다.On the other hand, in the ARIA algorithm, 128-bit input [x 0 , x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 , x 9 , x 10 , x 11 , x 12 , x 13 , x 14 , x 15 ] result of diffusion operation [w 0 , w 1 , w 2 , w 3 , w 4 , w 5 , w 6 , w 7 , w 8 , w 9 , w 10 , w 11 , w 12 , w 13 , w 14 , w 15 ] may be expressed as Equation 5 below. Here, x i and w i represent 8-bit unit data. If Equation 5 is re-expressed in 32-bit unit operation, it can be summarized as in Equation 6 below. Here, Wi and X i represent 32-bit unit data.

Figure 112007035392687-pat00010
Figure 112007035392687-pat00010

Figure 112007035392687-pat00011
Figure 112007035392687-pat00011

여기서 4x4행렬 A, B, C, D, E, F, G는 아래 식과 같다. 여기서,

Figure 112007035392687-pat00012
,
Figure 112007035392687-pat00013
,
Figure 112007035392687-pat00014
는 원래 행렬의 비트별 역원으로 구성된 행렬이다.Where 4x4 matrices A, B, C, D, E, F, G are given by here,
Figure 112007035392687-pat00012
,
Figure 112007035392687-pat00013
,
Figure 112007035392687-pat00014
Is a matrix of bitwise inverses of the original matrix.

Figure 112007035392687-pat00015
Figure 112007035392687-pat00015

따라서 128-비트 입력 [x0, x1,...,x15}에 대해 AES의 MixColumns 연산 결과 [y0, y1,...,y15]와 InvMixColumns 연산 결과 [z0, z1,...,z15], 그리고 ARIA의 확산 연산 결과 [w0, w1,...,w15]는 공통항을 사용하여 아래의 [수학식 7]과 같이 정리될 수 있다.Therefore, the result of MixColumns operation in AES [y 0 , y 1 , ..., y 15 ] and the InvMixColumns operation [z 0 , z 1 for 128-bit input [x 0 , x 1 , ..., x 15 } , ..., z 15 ], and the result of ARIA's spreading operation [w 0 , w 1 , ..., w 15 ] can be summarized as Equation 7 below using a common term.

Figure 112007035392687-pat00016
Figure 112007035392687-pat00016

여기서 사용된 중간항 Ai, Bi, Ci, Di, Ei는 아래와 같다.The intermediate terms A i , B i , C i , D i , and E i used here are as follows.

Figure 112007035392687-pat00017
Figure 112007035392687-pat00017

도 7은 상기 통합 확산 계층의 구조를 나타내는 블록도이다. 도 7을 참조하면, 통합 확산 계층은 128-비트 입력 X로부터 공통항 A(710), B(720)를 생성하고, B(720)로부터 C(730), D(740), E(750)를 생성한 다음 이들로부터 AES의 MixColumns 결과값 Y(760), InvMixColumns 결과값 Z(770), ARIA의 확산 결과 W(780)를 각각 생성한다. 최종적으로 MUX(790)를 거쳐서 128-비트 결과값 U를 선택적으로 결정하게 된다.7 is a block diagram illustrating the structure of the integrated spreading layer. Referring to FIG. 7, the unified spreading layer generates a common term A 710, B 720 from a 128-bit input X, and C 730, D 740, E 750 from B 720. After the generation, MixColumns result Y 760 of AES, InvMixColumns result Z 770, and diffusion result W 780 of ARIA are generated from them. Finally, the MUX 790 is used to selectively determine the 128-bit result value U.

지금까지 본 발명에 대하여 몇몇 실시예들을 들어 구체적으로 설명하였으나, 상기 실시예들은 본 발명을 이해하기 위한 설명을 위해 제시된 것이며, 본 발명의 범위가 상기 실시예에 제한되는 것은 아니다. 당업자라면 본 발명의 기술적 사상의 범위를 벗어나지 않고도 다양한 변형이 가능함을 이해할 수 있을 것이며, 본 발명의 범위는 첨부된 특허청구범위에 의해서 해석되어야 할 것이다.Although the present invention has been described in detail with reference to some embodiments, the above embodiments are presented for the purpose of understanding the present invention, and the scope of the present invention is not limited to the above embodiments. Those skilled in the art will understand that various modifications are possible without departing from the scope of the technical idea of the present invention, and the scope of the present invention should be interpreted by the appended claims.

본 발명은 효율적인 AES 및 ARIA 암호화/복호화 알고리즘은 지원하는 연산 방법 및 장치를 제시한다. 본 발명에 따른 연산 방법 및 장치는 AES 및 ARIA 암호화/복호화 기능을 모두 지원하면서도 통합 치환 계층과 통합 확산 계층을 사용하여 하드웨어 면적을 최소화하였다. 따라서 AES 및 ARIA 두 가지 암호화 알고리즘을 필요로 하는 스마트카드, 전자여권, 서버급 암호장비 등에 용이하게 사용될 수 있다.The present invention provides an operation method and apparatus that support efficient AES and ARIA encryption / decryption algorithms. The calculation method and apparatus according to the present invention support both AES and ARIA encryption / decryption functions while minimizing hardware area by using an integrated substitution layer and an integrated diffusion layer. Therefore, it can be easily used for smart cards, ePassports, server-class cryptographic equipment that require two encryption algorithms such as AES and ARIA.

Claims (12)

입력 데이터 및 라운드 키를 입력받는 단계;Receiving input data and a round key; 상기 입력 데이터 및 라운드 키를 이용하여 AES 및 ARIA의 통합치환계층에서AES 및 ARIA에 공통으로 사용되는 S-Box 연산을 수행하는 단계; 및Performing S-Box operations commonly used for AES and ARIA in an integrated exchange layer of AES and ARIA using the input data and the round key; And 상기 S-Box 연산이 수행된 데이터를 이용하여 AES 및 ARIA의 통합확산계층에서 확산 연산을 수행하는 단계를 포함하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 연산 방법.And performing a spreading operation in an integrated spreading layer of AES and ARIA using the data on which the S-Box operation is performed. 제 1 항에 있어서, 상기 연산 방법은The method of claim 1, wherein the calculation method 키스케듈러에서 입력 키를 이용하여 키 확장을 수행하여 상기 라운드 키를 생성하는 단계를 더 포함하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 연산 방법.And generating the round key by performing key expansion by using an input key in a key scheduler. 제 1 항에 있어서, The method of claim 1, 상기 AES 및 ARIA의 통합확산계층은 AES Mixcolumns 함수, AES InvMixcolumns 함수, 또는 ARIA의 확산 함수를 선택적으로 이용하여 상기 확산 연산을 수행하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 연산 방법.The integrated diffusion layer of the AES and the ARIA performs the spreading operation by selectively using an AES Mixcolumns function, an AES InvMixcolumns function, or an ARIA spreading function, and a method of supporting encryption / decryption functions of the AES and ARIA. . 제 3 항에 있어서,The method of claim 3, wherein 상기 통합확산계층은 AES Mixcolumns 함수, AES InvMixcolumns 함수, 및 ARIA의 확산 함수의 공통항을 공유하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 연산 방법.The integrated diffusion layer is a method for supporting encryption / decryption functions of AES and ARIA, characterized in that the common terms of the AES Mixcolumns function, AES InvMixcolumns function, and ARIA spreading function. 입력 키를 이용하여 라운드 키를 생성하는 키스케듈러; 및A key scheduler for generating a round key using an input key; And 입력 데이터 및 상기 라운드 키를 이용하여 암호화/복호화된 데이터를 생성하는 라운드함수연산부를 포함하되,A round function calculation unit for generating encrypted / decrypted data using input data and the round key, 상기 라운드함수연산부는 AES 및 ARIA 알고리즘을 모두 수행할 수 있는 통합치환계층 및 통합확산계층을 포함하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 통합 연산 장치.And the round function calculation unit comprises an integrated substitution layer and an integrated diffusion layer capable of performing both AES and ARIA algorithms. 제 5 항에 있어서,The method of claim 5, wherein 상기 통합치환계층은 AES S-Box 역할을 수행하는 제1 블록과, AES 및 ARIA S-Box 역할을 수행하는 제2 블록을 포함하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 통합 연산 장치.The unified replacement layer is integrated to support encryption / decryption functions of AES and ARIA, comprising a first block serving as an AES S-Box and a second block serving as an AES and an ARIA S-Box. Computing device. 제 6 항에 있어서,The method of claim 6, 상기 제2 블록은 상기 제2 블록의 원소를 확장 유한체 GF(((22)2)2) 상의 원소로 변환하는 동형함수 및 아핀 변환 함수를 포함하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 통합 연산 장치.The second block includes an isomorphic function and an affine transformation function for converting the elements of the second block into elements on the extended finite field GF (((2 2 ) 2 ) 2 ) / encoding of AES and ARIA Integrated computing device that supports the decoding function. 제 7 항에 있어서, The method of claim 7, wherein 상기 제2 블록은 상기 동형함수, 상기 아핀 변환 함수 및 이들의 결합함수 중 "1"의 개수가 가장 작은 동형함수를 선택하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 통합 연산 장치.The second block is an integrated computing device that supports encryption / decryption functions of AES and ARIA, wherein the homogeneous function having the smallest number of "1" s among the homogeneous function, the affine transform function, and a combination function thereof is selected. . 제 5 항에 있어서,The method of claim 5, wherein 상기 통합확산계층은 AES Mixcolumns 함수, AES InvMixcolumns 함수, 또는 ARIA의 확산 함수 역할을 선택적으로 수행하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 통합 연산 장치.The integrated diffusion layer selectively supports the AES Mixcolumns function, the AES InvMixcolumns function, or the spread function of the ARIA, the integrated computing device supporting the encryption / decryption functions of the AES and ARIA. 제 9 항에 있어서,The method of claim 9, 상기 통합확산계층은 AES Mixcolumns 함수, AES InvMixcolumns 함수, 및 ARIA의 확산 함수의 공통항을 공유하는 것을 특징으로 하는 AES 및 ARIA의 암호화/ 복호화 기능을 지원하는 통합 연산 장치.The integrated diffusion layer supports an encryption / decryption function of AES and ARIA, characterized in that the common terms of the AES Mixcolumns function, AES InvMixcolumns function, and ARIA spreading function. 제 5 항에 있어서,The method of claim 5, wherein 상기 키스케듈러는 AES 키스케듈러 블록 및 ARIA 키스케듈러 블록를 포함하며, 상기 두 블록의 키 중에서 라운드 키를 선택하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 통합 연산 장치.The key scheduler includes an AES key scheduler block and an ARIA key scheduler block, and includes a round key selected from the keys of the two blocks, wherein the AES and ARIA support the encryption / decryption function. 제 11 항에 있어서,The method of claim 11, 상기 ARIA 키스케듈러 블록의 키 저장 영역들 중 적어도 한 영역을 상기 AES 키스케듈러 블록의 키 저장 영역으로 사용하는 것을 특징으로 하는 AES 및 ARIA의 암호화/복호화 기능을 지원하는 통합 연산 장치.And an encryption / decryption function of AES and ARIA, wherein at least one of the key storage areas of the ARIA key modular block is used as a key storage area of the AES key modular block.
KR1020070046526A 2006-11-13 2007-05-14 Method and apparatus for supporting encryption/decryption function of aes and aria KR100894330B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/923,806 US8094815B2 (en) 2006-11-13 2007-10-25 Arithmetic method and apparatus for supporting AES and ARIA encryption/decryption functions
US13/311,683 US20120076294A1 (en) 2006-11-13 2011-12-06 Arithmetic method and apparatus for supporting aes and aria encryption/decryption functions

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060111856 2006-11-13
KR1020060111856 2006-11-13

Publications (2)

Publication Number Publication Date
KR20080043205A KR20080043205A (en) 2008-05-16
KR100894330B1 true KR100894330B1 (en) 2009-04-24

Family

ID=39661708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070046526A KR100894330B1 (en) 2006-11-13 2007-05-14 Method and apparatus for supporting encryption/decryption function of aes and aria

Country Status (1)

Country Link
KR (1) KR100894330B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101601684B1 (en) * 2011-05-18 2016-03-09 한국전자통신연구원 Method for implementing symmetric key encryption algorithm against power analysis attacks
CN113541942B (en) * 2021-07-12 2022-06-07 西安电子科技大学 Digital content encryption and decryption method based on ARX white-box block cipher

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050095168A (en) * 2004-03-25 2005-09-29 대한민국(전남대학교총장) A processor for computing multi encryption/decryption algorithm

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050095168A (en) * 2004-03-25 2005-09-29 대한민국(전남대학교총장) A processor for computing multi encryption/decryption algorithm

Also Published As

Publication number Publication date
KR20080043205A (en) 2008-05-16

Similar Documents

Publication Publication Date Title
Chen et al. An efficient image encryption scheme using lookup table-based confusion and diffusion
Zhou et al. Parallel image encryption algorithm based on discretized chaotic map
Chen et al. A symmetric image encryption scheme based on 3D chaotic cat maps
Käsper et al. Faster and timing-attack resistant AES-GCM
KR101143041B1 (en) Stream cipher design with revolving buffers
Kitsos et al. FPGA-based performance analysis of stream ciphers ZUC, Snow3g, Grain V1, Mickey V2, Trivium and E0
US8094815B2 (en) Arithmetic method and apparatus for supporting AES and ARIA encryption/decryption functions
Soliman et al. FPGA implementation of dynamically reconfigurable IoT security module using algorithm hopping
Sliman et al. Towards an ultra lightweight block ciphers for Internet of Things
KR100800468B1 (en) Hardware cryptographic engine and method improving power consumption and operation speed
Gouvêa et al. High speed implementation of authenticated encryption for the MSP430X microcontroller
Hoang A novel design of multiple image encryption using perturbed chaotic map
Msolli et al. New security approach in real-time wireless multimedia sensor networks
Awad et al. New chaotic permutation methods for image encryption
Karthigaikumar et al. PSP CO 2: An efficient hardware architecture for AES algorithm for high throughput
Traboulsi et al. Power analysis and optimization of the ZUC stream cipher for LTE-advanced mobile terminals
Güneysu et al. High-performance cryptanalysis on RIVYERA and COPACOBANA computing systems
KR100894330B1 (en) Method and apparatus for supporting encryption/decryption function of aes and aria
CN113282947A (en) Data encryption method and device based on SM4 algorithm and computer platform
Alippi et al. Lightweight cryptography for constrained devices
Banerjee et al. Secure cryptosystem using randomized rail fence cipher for mobile devices
Kumar et al. Efficient implementation of Advanced Encryption Standard (AES) for ARM based platforms
WO2018066951A1 (en) Improved lightweight block cipher
Shi et al. Research of lightweight encryption algorithm based on AES and chaotic sequences for narrow-band internet of things
Upadhyay et al. Cryptanalysis of hardware based stream ciphers and implementation of GSM stream cipher to propose a novel approach for designing n-bit LFSR stream cipher

Legal Events

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

Payment date: 20130410

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140326

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160328

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170406

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 10